package com.echat.messagesender.sender.sms;

import com.echat.messagesender.sender.bean.EchatSendSmsInfo;
import lombok.Data;

import java.util.Map;

/**
 * Created by xiaoyu on 2016/1/7.
 * 短信发送接口可根据不同的提供商做不同的实现
 * 理想情况下保留两个提供商的实现，在一个服务商不可用的时候进行自动切换
 * 2018/9/5 改写成抽象类
 */
@Data
public abstract class SmsSender {

    protected Long platformId;

    protected Long platformAccountId;

    protected String platformName;
    /**
     * 根据短信模板将消息发送给指定的接收人
     *
     * @param info
     * @return
     */
    public abstract boolean sendSms(EchatSendSmsInfo info);

    /**
     * 根据短信模板群发消息
     *
     * @param receiveNos
     * @param templateId
     * @param templateParams
     * @return
     */
    public abstract boolean sendBatchSms(String[] receiveNos, String templateId, Map<String, String>[] templateParams);

    /**
     * 发送普通短信给指定接收人
     *
     * @param receiveNos
     * @param content
     * @return
     */
    public abstract boolean sendSms(String receiveNos, String content);


}
